package org.bigdata.framework.core.protocol;

import java.util.HashMap;
import java.util.List;

import org.bigdata.framework.core.model.DiyCss;
import org.bigdata.framework.core.model.DiyFile;
import org.bigdata.framework.core.model.DiyImages;
import org.bigdata.framework.core.model.DiyJavascript;
import org.bigdata.framework.core.model.DiyModule;
import org.bigdata.framework.core.model.DiyPage;
import org.bigdata.framework.core.model.DiyPageModule;
import org.bigdata.framework.core.model.DiyPageSubmit;
import org.bigdata.framework.core.model.DiyTemplate;

/**
 * diy模块 2017-04-21
 * 
 * @author anhuifeng
 * 
 */
public interface IDiyService {
	
	/* 页面管理 start */
	DiyPage saveDiyPage(DiyPage diyPage);
	DiyPage editDiyPage(DiyPage diyPage);
	void deleteDiyPage(DiyPage diyPage);
	DiyPage findDiyPage(Integer id);
	List<DiyPage> getDiyPage();
	List<DiyPage> getDiyPage(HashMap<String, Object> queryParams, int pageNumber, int pageSize);
	Integer getDiyPageCount(HashMap<String, Object> queryParams);
	/* 页面管理 end */
	
	/* css管理 start */
	DiyCss saveDiyCss(DiyCss diyCss);
	DiyCss editDiyCss(DiyCss diyCss);
	void deleteDiyCss(DiyCss diyCss);
	DiyCss findDiyCss(String id);
	List<DiyCss> getDiyCss(HashMap<String, Object> queryParams, int pageNumber, int pageSize);
	Integer getDiyCssCount(HashMap<String, Object> queryParams);
	/* css管理 end */
	
	/* DiyJavascript管理 start */
	DiyJavascript saveDiyJavascript(DiyJavascript diyJavascript);
	DiyJavascript editDiyJavascript(DiyJavascript diyJavascript);
	void deleteDiyJavascript(DiyJavascript diyJavascript);
	DiyJavascript findDiyJavascript(String id);
	List<DiyJavascript> getDiyJavascript(HashMap<String, Object> queryParams, int pageNumber, int pageSize);
	Integer getDiyJavascriptCount(HashMap<String, Object> queryParams);
	/* DiyJavascript管理 end */
	
	/* DiyImages管理 start */
	DiyImages saveDiyImages(DiyImages diyImages);
	DiyImages editDiyImages(DiyImages diyImages);
	void deleteDiyImages(DiyImages diyImages);
	DiyImages findDiyImages(String id);
	List<DiyImages> getDiyImages(HashMap<String, Object> queryParams, int pageNumber, int pageSize);
	Integer getDiyImagesCount(HashMap<String, Object> queryParams);
	/* DiyImages管理 end */
	
	/* DiyFile管理 start */
	DiyFile saveDiyFile(DiyFile diyFile);
	DiyFile editDiyFile(DiyFile diyFile);
	void deleteDiyFile(DiyFile diyFile);
	DiyFile findDiyFile(String id);
	List<DiyFile> getDiyFile(HashMap<String, Object> queryParams, int pageNumber, int pageSize);
	Integer getDiyFileCount(HashMap<String, Object> queryParams);
	/* DiyFile管理 end */
	
	/* DiyTemplate管理 start */
	DiyTemplate saveDiyTemplate(DiyTemplate diyTemplate);
	DiyTemplate editDiyTemplate(DiyTemplate diyTemplate);
	void deleteDiyTemplate(DiyTemplate diyTemplate);
	DiyTemplate findDiyTemplate(String id);
	List<DiyTemplate> getDiyTemplate(HashMap<String, Object> queryParams, int pageNumber, int pageSize);
	Integer getDiyTemplateCount(HashMap<String, Object> queryParams);
	/* DiyTemplate管理 end */
	
	/* DiyModule管理 start */
	DiyModule saveDiyModule(DiyModule diyModule);
	DiyModule editDiyModule(DiyModule diyModule);
	void deleteDiyModule(DiyModule diyModule);
	DiyModule findDiyModule(String id);
	List<DiyModule> getDiyModule(HashMap<String, Object> queryParams, int pageNumber, int pageSize);
	Integer getDiyModuleCount(HashMap<String, Object> queryParams);
	/* DiyModule管理 end */
	
	/* DiyPageModule管理 start */
	DiyPageModule saveDiyPageModule(DiyPageModule diyPageModule);
	DiyPageModule editDiyPageModule(DiyPageModule diyPageModule);
	void deleteDiyPageModule(DiyPageModule diyPageModule);
	DiyPageModule findDiyPageModule(String id);
	List<DiyPageModule> getDiyPageModule(HashMap<String, Object> queryParams, int pageNumber, int pageSize);
	Integer getDiyPageModuleCount(HashMap<String, Object> queryParams);
	/* DiyPageModule管理 end */
	
	/* DiyPageSubmit管理 start */
	DiyPageSubmit saveDiyPageSubmit(DiyPageSubmit diyPageSubmit);
	DiyPageSubmit editDiyPageSubmit(DiyPageSubmit diyPageSubmit);
	void deleteDiyPageSubmit(DiyPageSubmit diyPageSubmit);
	DiyPageSubmit findDiyPageSubmit(String id);
	List<DiyPageSubmit> getDiyPageSubmit(HashMap<String, Object> queryParams, int pageNumber, int pageSize);
	Integer getDiyPageSubmitCount(HashMap<String, Object> queryParams);
	/* DiyPageSubmit管理 end */
	
}
